<template>
 <div id="app">
      <div class="contain">
        <!-- 左侧列表 -->
        <div class="list-box">

          <!-- 添加资产 -->
          <form class="my-form">
            <input type="text" class="form-control" placeholder="消费名称" v-model="name"/>
            <input type="text" class="form-control" placeholder="消费价格" v-model="price"/>
            <button type="button" class="btn btn-primary" @click="addList(name,price)" >添加账单</button> 

          </form>

          <table class="table table-hover">
            <thead>
              <tr>
                <th>编号</th>

                <th>消费名称</th>

                <th>消费价格</th>

                <th>操作</th>

              </tr>

            </thead>

            <tbody>
              <tr v-for="item in list" :key="item.id">
                <td>{{ item.id }}</td>

                <td>{{ item.name }}</td>

                <td>{{ item.price }}</td>

                <td><a href="javascript:;" @click="deleteList(item.id)">删除</a></td>   

              </tr>


            </tbody>

            <tfoot>
              <tr>
                <td colspan="4">消费总计： {{ getTotal }}</td>

              </tr>

            </tfoot>

          </table>

        </div>


      </div>

    </div>
</template>

<script>
import axios from 'axios';

export default {
    data() {
    return {
      name: '',
      price: '',
      list:[]
      }
  },
  methods: {
    async deleteList(id) {
      await axios({ url: 'https://applet-base-api-t.itheima.net/bill/' + id, method: 'delete' })
      this.list = this.list.filter(item => item.id !== id) 
    },
    async addList(name,price) {
      await axios({
        url: 'https://applet-base-api-t.itheima.net/bill', method: 'post', data: {
          creator: 'huangdis',
          name,     
          price  
        }
      })
      this.list.unshift({
        id: Date.now(),
        name, 
        price
      })
      this.name = '',  
      this.price = '' 
      }
  },

  computed: {
    getTotal() {
      return this.list.reduce((pre, cur) => Number (pre) + Number(cur.price), 0)      
    }
  },
     
  async created() {
    const res = await axios({url:'https://applet-base-api-t.itheima.net/bill',params:{
       creator:'huangdis'
      }})
      this.list=res.data.data           
  }

}     
</script>

<style>
  .red {
        color: red!important;
      }
      .search {
        width: 300px;
        margin: 20px 0;
      }
      .my-form {
        display: flex;
        margin: 20px 0;
      }
      .my-form input {
        flex: 1;
        margin-right: 20px;
      }
      .table > :not(:first-child) {
        border-top: none;
      }
      .contain {
        display: flex;
        padding: 10px;
      }
      .list-box {
        flex: 1;
        padding: 0 30px;
      }
      .list-box  a {
        text-decoration: none;
      }
      .echarts-box {
        width: 600px;
        height: 400px;
        padding: 30px;
        margin: 0 auto;
        border: 1px solid #ccc;
      }
      tfoot {
        font-weight: bold;
      }
      @media screen and (max-width: 1000px) {
        .contain {
          flex-wrap: wrap;
        }
        .list-box {
          width: 100%;
        }
        .echarts-box {
          margin-top: 30px;
        }
      }   
</style>          